package exo1;
import java.util.Scanner;

import Exceptions.*;

public class CompteAction extends CompteSansLimite {

	private static final double versementInitial = 1000;
	private final double plafondCredit;

	public CompteAction(String nom, int numero, double solde, double plafond) throws SoldeMinimumRequis 
	{
		super(nom, numero, solde);
		
		if(solde < CompteAction.getVersementInitial()){
			throw new SoldeMinimumRequis("Le solde initial doit �tre au minimum de "+CompteAction.getVersementInitial()+" euros\n", solde);
		}
		this.plafondCredit = plafond;
	}
	
	@Override
	public boolean crediterCompte(double montant)
	{
		try
		{
			if( this.plafondCredit < montant )
					throw new CreditNonAutorise("Credit non autorisee, plafond sur les operations de credit : "+this.plafondCredit, montant);
			this.setSolde(this.getSolde()+montant);
			return true;
		}
		catch(CreditNonAutorise e){
			System.out.println(e);
			return false;
		}
	}
	
	@Override
	public boolean debiterCompte(double montant)
	{
		try
		{
			throw new DebitNonAutorise("Debit non autorisee sur ce type de compte", montant);
		}
		catch(DebitNonAutorise e){
			System.out.println(e);
		}
		finally
		{
			System.out.println("Souhaitez-vous lever les actions ? (cela entraine la fermeture du compte)  y ou n");
			Scanner clavier = new Scanner(System.in);
			String choix = clavier.nextLine();
			
			if(choix.equalsIgnoreCase("y")){
				clavier.close();
				return true;
			}
			clavier.close();
		}
		return false;
	}
	
	public double getPlafondCredit(){
		return this.plafondCredit;
	}
	public static double getVersementInitial() {
		return versementInitial;
	}
	@Override
	public String toString(){
		return super.toString();
	}
}
